Homomorphic encryption systems have the potential to permit users and cloud service providers to interact without loss of confidentiality. For example, a medical professional can forward a request to a cloud based medical service provider for analysis of patient medical data. Without decrypting sensitive patient personal information in the request, the service provider can supply information requested. The service provider can add analytical results to the encrypted data, and return the encrypted data to the medical professional. At no time does the service provider have access to patient personal information.
While offering numerous advantages, homomorphic encryption systems exhibit significant limitations. In some homomorphic encryption systems, computations are unacceptably slow, or require excessive computational power. Homomorphic encryption systems also typically exhibit so-called “noise” so that encrypted data acquires noise during processing, and eventually can be corrupted unacceptably. In some homomorphic encryption schemes, the use of rational numbers as plaintexts is problematic due to difficulties in representing fractional parts of the plaintext representations. While some approaches have been developed, they tend to be overly complex, and do not ensure that representations remain suitable for all plaintexts.